<?php
/**
 * 首页模板测试文件
 * Homepage Template Test File
 * 
 * 该文件用于测试三种首页模板的功能和样式
 * This file is used to test the functionality and styles of the three homepage templates
 * 
 * 使用方法 / Usage:
 * 1. 访问 WordPress 后台 → 外观 → WP Bootstrap Woo 主题设置
 * 2. 在首页设置选项卡中选择不同的模板
 * 3. 保存设置并查看前台首页效果
 * 
 * @package WP Bootstrap Woo
 */

defined('ABSPATH') || exit;

/**
 * 测试模板切换功能
 * Test template switching functionality
 */
function wbw_test_template_switching() {
    // 检查是否为管理员
    if (!current_user_can('manage_options')) {
        return false;
    }
    
    $templates = array(
        'template_1' => '经典布局 (index.html)',
        'template_2' => '现代布局 (index2.html)', 
        'template_3' => '时尚布局 (index3.html)'
    );
    
    $current_template = get_current_homepage_template();
    
    $test_results = array(
        'current_template' => $current_template,
        'template_name' => $templates[$current_template] ?? 'Unknown',
        'template_file_exists' => false,
        'css_files_loaded' => array(),
        'js_files_loaded' => array(),
        'errors' => array()
    );
    
    // 检查模板文件是否存在
    $template_files = array(
        'template_1' => 'home-template-1.php',
        'template_2' => 'home-template-2.php',
        'template_3' => 'home-template-3.php'
    );
    
    $template_file = $template_files[$current_template] ?? '';
    if ($template_file && file_exists(get_template_directory() . '/' . $template_file)) {
        $test_results['template_file_exists'] = true;
    } else {
        $test_results['errors'][] = "Template file not found: $template_file";
    }
    
    // 检查CSS文件
    $css_files = array(
        'plugin.css',
        'feather.css',
        'collection.css',
        'style1.css'
    );
    
    foreach ($css_files as $css_file) {
        $css_path = get_template_directory() . '/assets/css/' . $css_file;
        if (file_exists($css_path)) {
            $test_results['css_files_loaded'][] = $css_file;
        } else {
            $test_results['errors'][] = "CSS file not found: $css_file";
        }
    }
    
    // 检查JS文件
    $js_files = array(
        'plugin.js',
        'main.js'
    );
    
    foreach ($js_files as $js_file) {
        $js_path = get_template_directory() . '/assets/js/' . $js_file;
        if (file_exists($js_path)) {
            $test_results['js_files_loaded'][] = $js_file;
        } else {
            $test_results['errors'][] = "JS file not found: $js_file";
        }
    }
    
    return $test_results;
}

/**
 * 显示测试结果（仅在调试模式下）
 * Display test results (only in debug mode)
 */
function wbw_display_test_results() {
    if (!_THEME_DEBUG || !current_user_can('manage_options') || !is_front_page()) {
        return;
    }
    
    $results = wbw_test_template_switching();
    
    echo '<div style="position: fixed; top: 0; right: 0; background: #fff; border: 2px solid #000; padding: 15px; z-index: 9999; max-width: 400px; margin: 20px;">';
    echo '<h4>模板测试结果</h4>';
    echo '<p><strong>当前模板:</strong> ' . esc_html($results['template_name']) . '</p>';
    echo '<p><strong>模板文件存在:</strong> ' . ($results['template_file_exists'] ? '✓ 是' : '✗ 否') . '</p>';
    
    if (!empty($results['css_files_loaded'])) {
        echo '<p><strong>CSS文件:</strong><br>' . implode('<br>', array_map('esc_html', $results['css_files_loaded'])) . '</p>';
    }
    
    if (!empty($results['js_files_loaded'])) {
        echo '<p><strong>JS文件:</strong><br>' . implode('<br>', array_map('esc_html', $results['js_files_loaded'])) . '</p>';
    }
    
    if (!empty($results['errors'])) {
        echo '<p style="color: red;"><strong>错误:</strong><br>' . implode('<br>', array_map('esc_html', $results['errors'])) . '</p>';
    }
    
    echo '<p><a href="' . admin_url('admin.php?page=wp-bootstrap-woo-settings') . '" target="_blank">打开主题设置</a></p>';
    echo '</div>';
}

// 在调试模式下显示测试结果
if (_THEME_DEBUG) {
    add_action('wp_footer', 'wbw_display_test_results');
}

/**
 * AJAX处理测试功能
 * AJAX handler for testing functionality
 */
function wbw_ajax_test_templates() {
    check_ajax_referer('wbw_test_nonce', 'nonce');
    
    if (!current_user_can('manage_options')) {
        wp_send_json_error('Unauthorized');
    }
    
    $test_results = wbw_test_template_switching();
    wp_send_json_success($test_results);
}
add_action('wp_ajax_wbw_test_templates', 'wbw_ajax_test_templates');

/**
 * 添加测试按钮到管理工具栏
 * Add test button to admin toolbar
 */
function wbw_add_test_admin_bar($admin_bar) {
    if (!current_user_can('manage_options') || !is_front_page()) {
        return;
    }
    
    $admin_bar->add_menu(array(
        'id' => 'wbw-template-test',
        'title' => '模板测试',
        'href' => '#',
        'meta' => array(
            'onclick' => 'wbwTestTemplates(); return false;'
        )
    ));
}
add_action('admin_bar_menu', 'wbw_add_test_admin_bar', 999);

/**
 * 添加测试JavaScript
 * Add test JavaScript
 */
function wbw_add_test_script() {
    if (!current_user_can('manage_options') || !is_front_page()) {
        return;
    }
    ?>
    <script type="text/javascript">
    function wbwTestTemplates() {
        if (typeof jQuery === 'undefined') {
            alert('jQuery not loaded');
            return;
        }
        
        jQuery.ajax({
            url: '<?php echo admin_url('admin-ajax.php'); ?>',
            type: 'POST',
            data: {
                action: 'wbw_test_templates',
                nonce: '<?php echo wp_create_nonce('wbw_test_nonce'); ?>'
            },
            success: function(response) {
                if (response.success) {
                    var results = response.data;
                    var message = '模板测试结果:\\n\\n';
                    message += '当前模板: ' + results.template_name + '\\n';
                    message += '模板文件存在: ' + (results.template_file_exists ? '是' : '否') + '\\n';
                    message += 'CSS文件数量: ' + results.css_files_loaded.length + '\\n';
                    message += 'JS文件数量: ' + results.js_files_loaded.length + '\\n';
                    if (results.errors.length > 0) {
                        message += '\\n错误:\\n' + results.errors.join('\\n');
                    }
                    alert(message);
                } else {
                    alert('测试失败: ' + response.data);
                }
            },
            error: function() {
                alert('测试请求失败');
            }
        });
    }
    </script>
    <?php
}
add_action('wp_footer', 'wbw_add_test_script');

/* 测试说明

## 如何测试模板切换功能

### 方法1: 通过WordPress后台
1. 登录WordPress后台
2. 进入 "外观" → "WP Bootstrap Woo 主题设置"
3. 点击 "首页设置" 选项卡
4. 选择不同的首页模板（Template 1、2、3）
5. 点击 "保存更改"
6. 访问网站首页查看效果

### 方法2: 通过前台管理工具栏（管理员用户）
1. 以管理员身份访问网站首页
2. 在顶部管理工具栏中找到 "首页模板" 菜单
3. 选择不同的模板选项
4. 页面会自动刷新显示新模板

### 方法3: 使用测试功能（调试模式下）
1. 在主题设置中启用调试模式
2. 访问首页，右上角会显示测试信息面板
3. 点击管理工具栏中的 "模板测试" 按钮

## 预期结果

### Template 1 (经典布局)
- 传统的电商网站布局
- 横幅轮播图展示
- 经典的产品网格布局
- 适合传统电商网站

### Template 2 (现代布局)
- 现代简约设计风格
- 卡片式产品展示
- 响应式布局优化
- 适合现代化品牌

### Template 3 (时尚布局)
- 时尚前卫的设计
- 动态效果丰富
- 视觉冲击力强
- 适合时尚品牌

## 故障排除

如果模板切换不生效，请检查：
1. 所有模板文件是否存在于主题目录中
2. CSS和JS文件是否正确加载
3. 浏览器缓存是否已清理
4. WordPress缓存插件是否已清理
5. 主题配置是否正确保存

*/